//导入模块会执行模块里的代码 模块在第一次加载后会被缓存 意味着多次调用require()不会导致模块的代码执行多次
//内置模块的加载机制:内置模块的加载优先级最高
//加载自定义模块的时候,必须以./或../开头的路径标识符,没有指定这样的路径标识符则node会把它当作内置模块或第三方模块加载
require('./自定义模块')
require('./自定义模块')
require('./自定义模块')

//导入自定义模块时省略文件的扩展名,则node.js会按顺序分别尝试加载一下文件
//1.按确切的文件名进行加载
//2.补全.js扩展名进行加载
//3.补全.json扩展名进行加载
//4.补全.node扩展名进行加载
//5.加载失败终端报错
const m=require('./1')
console.log(m);

//加载目录会在被加载目录下查找一个package.json文件,并寻找main属性作为require()加载的入口
//如果没有package.json文件或main入口不存在或无法解析,则Nodejs会试图加载目录下的index.js文件
//以上两步都失败则终端报错
require('./catalogue-test')